home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1994 / MacHack 1994.toast / MacHack™ 1987-1994 / MacHack™ '93 / Papers '93 / Macintosh as Internet Server ƒ / inetd / InetD Setup / list.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-02-17  |  1.3 KB  |  65 lines  |  [TEXT/MPS ]

  1.  
  2. #include <Types.h>
  3. #include <QuickDraw.h>
  4. #include <Lists.h>
  5. #include <Sysequ.h>
  6. #include <ToolUtils.h>
  7. #include <Files.h>
  8. #include <Packages.h>
  9.  
  10. #include <myUtils.h>
  11.  
  12. #include "list.h"
  13.  
  14. pascal void    ENTRY(    short lMessage, Boolean lSelect, Rect *lRect, Cell /*lCell*/,
  15.                     short lDataOffset, short lDataLen, ListHandle lHandle)
  16. {
  17.     short        left;
  18.     short        top;
  19.     FontInfo    fontInfo;
  20.     Handle        cellData;
  21.     ListData*    strings;
  22.     Str255        port;
  23.     
  24.     cellData = (**lHandle).cells;
  25.     HLock(cellData);
  26.  
  27.     switch (lMessage) {
  28.         case lInitMsg:
  29.             break;
  30.         case lDrawMsg:
  31.             EraseRect(lRect);
  32.             
  33.             strings = (ListData*) (*cellData + lDataOffset);
  34.             
  35.             if (lDataLen > 0) {
  36.                 GetFontInfo(&fontInfo);
  37.                 
  38.                 top = lRect->top + (**lHandle).indent.v + 0;
  39.                 left = lRect->left + (**lHandle).indent.h + 5;
  40.                 MoveTo(left, top + fontInfo.ascent);
  41.                 DrawString(strings->resName);
  42.                 
  43.                 NumToString((long) strings->resID, port);
  44.                 PStrCat(port, ((strings->resType == 'TCP ') ? "\p/TCP" : "\p/UDP"));
  45.                 
  46.                 left += ((lRect->right - lRect->left) * 2 / 3);
  47.                 MoveTo(left, top + fontInfo.ascent);
  48.                 DrawString(port);
  49.             }
  50.             
  51.             if (lSelect) {
  52.                 BitClr((Ptr) HiliteMode, pHiliteBit);
  53.                 InvertRect(lRect);
  54.             }
  55.             break;
  56.         case lHiliteMsg:
  57.             BitClr((Ptr) HiliteMode, pHiliteBit);
  58.             InvertRect(lRect);
  59.             break;
  60.         case lCloseMsg:
  61.             break;
  62.     }
  63.     
  64.     HUnlock(cellData);
  65. }